iT邦幫忙

2023 iThome 鐵人賽

DAY 8
0

💡 前情提要一下,我們上一篇在 build stage 之後呢,產生了 ****artifact,****主要就是 Source Code 經過 編譯 (Compile)打包 (Packing) 最後的產出物。目的就是為了讓即使是不同部門的任何人或任何環境都可以獨立部署。

deploy

接下來,我們要將 artifact 傳送至特定的目標 server。

可能有以下幾個方法可以嘗試:

  • 使用部署工具:有一些專為軟體部署和交付而設計的工具,例如Ansible、Capistrano、Octopus Deploy等。
  • 雲服務提供商(例如AWS、Google Cloud、Azure等)可以將 artifact 上傳到這些專用的存儲服務,然後從目標伺服器中下載它們。
  • GitLab CI/CD、Jenkins 提供了特定的部署步驟或插件,可以將 artifact 上傳到目標伺服器。

artifact 我們可以記錄回報的內容復現問題或是需要交付 version, branch 等等事項,這些資訊也可提供後續持續整合更多參閱的例子。

Test

test 有非常多的種類,單元測試 unit test,整合測試 integration test,API test 等,那因為我們公司是使用 nx,因此有了以下這段程式碼。

script:
	nx affected --target=test

如果你想知道這個程式碼測試覆蓋率(Coverage),gitLab 也有提供 Badges 可以查看。
https://ithelp.ithome.com.tw/upload/images/20230923/20162639wAKwAStqEs.png

除了這種 UI 介面的方式,也可以跟 slack 做整合,假設今天有 pipeline 失敗的時候可以發送通知,這樣也不會錯過修復的時機。

在 CI/CD 的筆記中,剩下最後兩篇應該會針對 1. Deploy on GCP 以及 2. 與 slack 做整合 這兩點來記錄!

參考文章:


上一篇
Build stage 和 產出的 artifact
下一篇
串接 Slack 到 GitLab 上
系列文
往後端邁進的菜前端30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言